Vebə yerləşdirmə#

Proqramınızı başqaları internetdən açsın deyə bir əmr kifayətdir:

PowerShell
cd Sənədlər\Alqor\saytım
alqor yerləşdir

Nəticə qurma\yerləşdir\ qovluğudur. İçində YERLESDIR.md var: seçdiyiniz platforma üçün addım-addım təlimat. Studio-da: İşlət → Qur: vebə yerləşdir.

İki növ — Alqor özü seçir#

ProqramınızNəticəHarada yerləşir
gətir veb yoxdur (konsol proqramı, hesablamalar, oyun)Statik sayt: index.html — proqram JavaScript-ə çevrilib brauzerdə işləyirNetlify, GitHub Pages, Cloudflare Pages, istənilən hostinq — pulsuz, server lazım deyil
gətir pəncərə var (desktop tətbiqi: komponentlər, vidjetlər)Statik sayt: pəncərə səhifənin özündə açılır, düymələr brauzerdə işləyireyni — pulsuz, server lazım deyil
gətir veb var (veb.Server, API, formalar)Server paketi: tetbiq.pyz + DockerfileRender, Fly.io, Railway, öz VPS-iniz

Məcburi seçmək: alqor yerləşdir --statik və ya --server.

Statik sayt#

Alqor
gətir konsol

funksiya əsas()
    dəyişən ad = konsol.soruş("Adınız: ", standart: "dünya")
    yaz(konsol.yaşıl("Salam, {ad}!"))
son

alqor yerləşdir → qurma\yerləşdir\index.html. Əvvəlcə yoxlayın: faylı iki dəfə klikləyin — proqram brauzerdə işləyir. oxu() və konsol.soruş() brauzerdə sual pəncərəsi açır.

Netlify Drop — 1 dəqiqə#

  1. https://app.netlify.com/drop açın (pulsuz qeydiyyat).
  2. qurma\yerləşdir qovluğunu səhifəyə sürükləyin.
  3. https://<ad>.netlify.app ünvanı dərhal işləyir.

GitHub Pages#

PowerShell
alqor yerləşdir --çıxış docs
git add docs
git commit -m "Sayt"
git push

GitHub-da: Settings → Pages → Branch: main, Folder: /docs. Ünvan: https://<istifadəçi>.github.io/<repo>/.

Desktop tətbiqi — eyni kod, server yoxdur#

Alqor
gətir pəncərə

komponent Sayğac
    vəziyyət say: tam = 0
    göstər()
        qaytar <button klik={() => özü.say += 1}>Basıldı: {özü.say}</button>
    son
son

dəyişən p = yeni pəncərə.Pəncərə("Sayğac", 320, 200)
p.məzmun(<Sayğac />)
p.göstər()
pəncərə.işlət()

alqor yerləşdir → index.html: pəncərənin məzmunu səhifədə görünür, düymə basılanda komponent yenidən göstərilir — hamısı brauzerdə, serversiz. Vidjetlər (vidjet.cədvəl, vidjet.form…) desktopdakı kimi görünür, menyu və qısayollar işləyir. dialoq.təsdiqlə / soruş brauzerin sual pəncərəsini açır; fayl dialoqları (faylAç, faylSaxla) və fayl sistemi brauzerdə yoxdur — basılanda səhifənin altında xəta görünür. Proqram gətir veb də işlədirsə (məs. -- veb arqumenti ilə server açan nümunələr), statik saytda yalnız desktop hissəsi işləyir.

Brauzerdə nə işləyir?#

Statik saytda proqram JavaScript-ə çevrilir. Bu modullar dəstəklənir: riyaziyyat, mətn, təsadüfi, vaxt, json, naxış, sistem, jurnal, paralel, konsol, vidjet, pəncərə, http (brauzerin CORS qaydaları ilə) və öz modullarınız. Başqa modul (veb, fayl, verilənlər…) işlədirsinizsə, alqor yerləşdir bunu deyir — onda server növünü seçin.

Server tətbiqi#

Alqor
gətir veb

dəyişən s = yeni veb.Server()
s.al("/", (sorğu) => veb.html(<h1>Salam, dünya!</h1>))
s.al("/salam/:ad", (sorğu) => veb.html(<h1>Salam, {sorğu.parametr("ad")}!</h1>))
s.dinlə(8080)

alqor yerləşdir bu faylları yaradır:

FaylNədir
tetbiq.pyzProqramınız və Alqor icra mühiti, tək fayl
DockerfileKonteyner təsviri (Python 3.12)
YERLESDIR.mdRender, Fly.io və VPS üçün addımlar

Port: kodda s.dinlə(8080) yazsanız da, platforma PORT mühit dəyişənini verirsə, server həmin portda açılır. ALQOR_HOST=0.0.0.0 serveri bütün şəbəkə interfeyslərində açır (Dockerfile bunu özü edir). Kodda heç nə dəyişmək lazım deyil.

Yerli yoxlama#

PowerShell
python qurma\yerləşdir\tetbiq.pyz     # http://127.0.0.1:8080

Render.com — pulsuz plan#

  1. qurma\yerləşdir qovluğunu GitHub-da yeni repoya yükləyin.
  2. render.com → New → Web Service → reponu seçin.
  3. Runtime: Docker avtomatik seçilir → Create Web Service.
  4. Bir neçə dəqiqəyə https://<ad>.onrender.com hazırdır.

Öz serveriniz (VPS)#

terminal
docker build -t saytim .
docker run -d --restart always -p 80:8080 saytim

Docker yoxdursa: serverdə Python 3.12 qurun və ALQOR_HOST=0.0.0.0 PORT=80 python tetbiq.pyz işlədin.

Yeniləmək#

Kodu dəyişdikdən sonra yenidən alqor yerləşdir işlədin və qovluğu təzədən yükləyin (Netlify-da sürükləyin, GitHub-da git push).

Problem olarsa#

  • "statik sayta çevrilmədi: X modulu JS hədəfində dəstəklənmir" — alqor yerləşdir --server işlədin.
  • "proqramda xəta var" — əvvəlcə alqor işlət ilə xətanı düzəldin; xətalı proqram yerləşdirilmir.
  • Render-də sayt açılmır — Logs bölməsinə baxın; PORT-u kodda dəyişməyin, Alqor onu özü oxuyur.